﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using MuaDeal.DTO;
namespace MuaDeal
{
    public partial class CapNhatSPDatMua : Form
    {
        public CapNhatSPDatMua()
        {
            InitializeComponent();
        }

        private void CapNhatSPDatMua_Load(object sender, EventArgs e)
        {
        }
        private void lbtenkh_Click(object sender, EventArgs e)
        {
        
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {

                Datahelper helper = new Datahelper();
                helper.Open();
                String username = txtmakh.Text;
                SqlCommand comman = new SqlCommand();
                comman.CommandText = "sp_TimKiemGHTheoMa";
                comman.CommandType = CommandType.StoredProcedure;
                SqlParameter bien1 = comman.Parameters.Add("@username", SqlDbType.Char, 30);
                bien1.Direction = ParameterDirection.Input;
                bien1.Value = username;
                comman.Connection = helper.Connection;
                //lấy ds trả về gán vào listview
                DataTable dttimkiem = new DataTable();
                SqlDataReader reader = comman.ExecuteReader();
                listView1.Items.Clear();
                while (reader.Read())
                {
                    ListViewItem item = new ListViewItem();

                    item.Text = reader[0].ToString();
                    item.SubItems.Add(reader[1].ToString());
                    item.SubItems.Add(reader[2].ToString());
                    item.SubItems.Add(reader[3].ToString());
                    item.SubItems.Add(reader[4].ToString());
                    listView1.Items.Add(item);
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Lỗi  " + ex.Message);
            }

        }

        private void btnxemchitiet_Click(object sender, EventArgs e)
        {
            try
            {

                gioHangDTO gh = new gioHangDTO();
                if (listView1.SelectedIndices.Count >0)
                {
                    gh.MaGioHang = listView1.Items[listView1.SelectedIndices[0]].Text;
                    gh.TenUser = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text;
                    gh.NgayDatHang = DateTime.Parse(listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text);
                    gh.MaTinhTrangGioHang = int.Parse(listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text);
                    gh.TongTien = float.Parse(listView1.Items[listView1.SelectedIndices[0]].SubItems[4].Text);
                    XemGioHang frm = new XemGioHang();
                    frm.Gh = gh;
                    frm.ShowDialog();
                }
                

            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Lỗi " + ex.Message);
            }
        }

        private void btncapnhat_Click(object sender, EventArgs e)
        {
            try
            {
                if(rdbtnrepeatableread1.Checked==true)
                {
                    Datahelper helper = new Datahelper();
                    helper.Open();
                    SqlCommand comman = new SqlCommand();
                    String chuoi = "sp_CapNhatThongTinSanPhamDaDatMua_ReapeatableRead";

                    SqlParameter bien1 = comman.Parameters.Add("@magh", SqlDbType.Char, 10);
                    bien1.Direction = ParameterDirection.Input;
                    bien1.Value = txtmagh.Text;


                    SqlParameter bien10 = comman.Parameters.Add("@madeal", SqlDbType.Char, 10);
                    bien10.Direction = ParameterDirection.Input;
                    bien10.Value = txtmadeal.Text;


                    SqlParameter bien3 = comman.Parameters.Add("@soluong", SqlDbType.Int);
                    bien3.Direction = ParameterDirection.Input;
                    bien3.Value = txtsoluong.Text;

                   
                    comman.CommandText = chuoi;
                    comman.CommandType = CommandType.StoredProcedure;
                    comman.Connection = helper.Connection;
                    int kq = comman.ExecuteNonQuery();

                    //Nếu cập nhật thành công thì thông báo message box và load lại listview
                    if (kq == 1)
                    {
                        MessageBox.Show("Cập nhật thành công");
                        String username = txtmakh.Text;
                        SqlCommand comman1 = new SqlCommand();
                        comman1.CommandText = "sp_TimKiemGHTheoMa";
                        comman1.CommandType = CommandType.StoredProcedure;
                        SqlParameter bien44 = comman1.Parameters.Add("@username", SqlDbType.Char, 30);
                        bien44.Direction = ParameterDirection.Input;
                        bien44.Value = username;
                        comman1.Connection = helper.Connection;
                        //lấy ds trả về gán vào listview
                        DataTable dttimkiem = new DataTable();
                        SqlDataReader reader = comman1.ExecuteReader();
                        listView1.Items.Clear();
                        while (reader.Read())
                        {
                            ListViewItem item = new ListViewItem();
                            item.Text = reader[0].ToString();
                            item.SubItems.Add(reader[1].ToString());
                            item.SubItems.Add(reader[2].ToString());
                            item.SubItems.Add(reader[3].ToString());
                            item.SubItems.Add(reader[4].ToString());
                            listView1.Items.Add(item);
                        }
                        helper.Close();
                       
                     }
                    else
                    {
                        MessageBox.Show("Cập nhật không thành công");
                    }
                }
                else if(rdbtnuncommitted.Checked==true)
                {
                    Datahelper helper = new Datahelper();
                    helper.Open();
                    SqlCommand comman = new SqlCommand();
                    String chuoi = "sp_CapNhatThongTinSanPhamDaDatMua_Readuncommitted";

                    SqlParameter bien1 = comman.Parameters.Add("@magh", SqlDbType.Char, 10);
                    bien1.Direction = ParameterDirection.Input;
                    bien1.Value = txtmagh.Text;


                    SqlParameter bien10 = comman.Parameters.Add("@madeal", SqlDbType.Char, 10);
                    bien10.Direction = ParameterDirection.Input;
                    bien10.Value = txtmadeal.Text;


                    SqlParameter bien3 = comman.Parameters.Add("@soluong", SqlDbType.Int);
                    bien3.Direction = ParameterDirection.Input;
                    bien3.Value = txtsoluong.Text;


                    comman.CommandText = chuoi;
                    comman.CommandType = CommandType.StoredProcedure;
                    comman.Connection = helper.Connection;
                    int kq = comman.ExecuteNonQuery();

                    //Nếu cập nhật thành công thì thông báo message box và load lại listview
                    if (kq == 1)
                    {
                        MessageBox.Show("Cập nhật thành công");
                        String username = txtmakh.Text;
                        SqlCommand comman1 = new SqlCommand();
                        comman1.CommandText = "sp_TimKiemGHTheoMa";
                        comman1.CommandType = CommandType.StoredProcedure;
                        SqlParameter bien44 = comman1.Parameters.Add("@username", SqlDbType.Char, 30);
                        bien44.Direction = ParameterDirection.Input;
                        bien44.Value = username;
                        comman1.Connection = helper.Connection;
                        //lấy ds trả về gán vào listview
                        DataTable dttimkiem = new DataTable();
                        SqlDataReader reader = comman1.ExecuteReader();
                        listView1.Items.Clear();
                        while (reader.Read())
                        {
                            ListViewItem item = new ListViewItem();
                            item.Text = reader[0].ToString();
                            item.SubItems.Add(reader[1].ToString());
                            item.SubItems.Add(reader[2].ToString());
                            item.SubItems.Add(reader[3].ToString());
                            item.SubItems.Add(reader[4].ToString());
                            listView1.Items.Add(item);
                        }
                        helper.Close();

                    }
                    else
                    {
                        MessageBox.Show("Cập nhật không thành công");
                    }
                }
            
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Lỗi " + ex.Message);
            }
        }

        private void btnxoasp_Click(object sender, EventArgs e)
        {
            if (txtmadeal.Text != "" && txtmagh.Text != "")
            {
                try
                {
                    Datahelper helper = new Datahelper();
                    helper.Open();
                    SqlCommand comman = new SqlCommand();

                    String chuoi = "sp_xoachitiet_DL";
                    if(rdbtnuncommitted.Checked==true)
                        chuoi = "sp_xoachitiet_DL_UC";
                    SqlParameter bien1 = comman.Parameters.Add("@magh", SqlDbType.Char, 10);
                    bien1.Direction = ParameterDirection.Input;
                    bien1.Value = txtmagh.Text;


                    SqlParameter bien2 = comman.Parameters.Add("@masp", SqlDbType.Char, 100);
                    bien2.Direction = ParameterDirection.Input;
                    bien2.Value = txtmadeal.Text;

                    comman.CommandText = chuoi;
                    comman.CommandType = CommandType.StoredProcedure;
                    comman.Connection = helper.Connection;
                    int kq = comman.ExecuteNonQuery();

                    //Nếu cập nhật thành công thì thông báo message box và load lại listview
                    if (kq == 1)
                    {
                        MessageBox.Show("Đã cập nhật sản phẩm thành công");
                        

                    }
                    else
                    {
                        MessageBox.Show("Cập nhật thành công");
                    }
                }
                catch (SqlException ex) { MessageBox.Show("loi " + ex.Message); }
            }
        }
        
    }
}